package com.fastgwt.shared.services;

import java.util.List;

import com.google.gwt.user.client.rpc.AsyncCallback;
import com.fastgwt.shared.dto.Employee;

public interface EmployeeServiceAsync {

	void findEmployee(long employeeId, AsyncCallback<Employee> callback);

	void saveEmployee(long employeeId, String name, String surname,
			String jobDescription, AsyncCallback<Void> callback);

	void updateEmployee(long employeeId, String name, String surname,
			String jobDescription, AsyncCallback<Void> callback);

	void deleteEmployee(long employeeId, AsyncCallback<Void> callback);

	void saveOrUpdateEmployee(long employeeId, String name, String surname,
			String jobDescription, AsyncCallback<Void> callback);

	void saveOrUpdateEmployee(Employee employee,
			AsyncCallback<Employee> callback);

	public void listAll(AsyncCallback<List<Employee>> callback)
			throws Exception;

	public void listAll(String name, String surname, String job,
			AsyncCallback<List<Employee>> callback) throws Exception;

}
